PureCake: A Verified Compiler for a Lazy Functional Language
نویسندگان
چکیده
We present PureCake, a mechanically-verified compiler for PureLang, lazy, purely functional programming language with monadic effects. PureLang syntax is Haskell-like and indentation-sensitive, its constraint-based Hindley-Milner type system guarantees safe execution. derive sound equational reasoning principles over operational semantics, dramatically simplifying some proofs. prove end-to-end correctness the compilation of down to machine code---the first such result any lazy language---by targeting CakeML composing verified compiler. Multiple optimisation passes are necessary handle realistic idioms effectively. develop PureCake entirely within HOL4 interactive theorem prover.
منابع مشابه
Using a Lazy Functional Language for TextualInformation
This paper describes a new implementation technique for index-assisted searching in a textual database: the use of a lazy functional programming language to describe high-level search strategies , combined with low-level implementation languages (such as C) for primitive index and text access. Our implementation, in the concrete context of the ARTFL database, demonstrates the feasibility of thi...
متن کاملCertiCoq: A verified compiler for Coq
CertiCoq is a mechanically verified, optimizing compiler for Coq that bridges the gap between certified high-level programs and their translation to machine language. We outline its design as well as the main foundational and engineering challenges involved in building and certifying a compiler for Coq in Coq.
متن کاملA verified compiler for Handel-C
The recent popularity of Field Programmable Gate Array (FPGA) technology has made the synthesis of Hardware Description Language (HDL) programs into FPGAs a very attractive topic for research. In particular, the correctness in the synthesis of an FPGA programming file from a source HDL program has gained significant relevance in the context of safety or mission-critical systems. The results pre...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2023
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3591259